Skip to main content

Complete WordPress Installation Guide for Windows

Overview

This comprehensive guide covers the complete installation and configuration of WordPress on Windows using a modern, professional stack: PHP 8.x, MariaDB, and Caddy web server. This setup provides excellent performance, security, and maintainability for both development and production environments.

What You'll Build

  • WordPress CMS: Latest version with professional configuration
  • PHP 8.x: Modern PHP runtime with optimized settings
  • MariaDB: High-performance MySQL-compatible database
  • Caddy Web Server: Automatic HTTPS and reverse proxy
  • NSSM Service Manager: Professional Windows service management

Architecture Overview

Internet → Caddy (Port 80/443) → PHP-FPM (Port 9000) → WordPress → MariaDB (Port 3306)

Key Benefits

  • Professional Setup: Enterprise-ready configuration
  • Automatic HTTPS: SSL certificates managed by Caddy
  • High Performance: Optimized PHP and database settings
  • Security Hardened: Best practices throughout
  • Service Management: Automatic startup and monitoring
  • Scalable: Ready for production workloads

Prerequisites

Before beginning the installation, ensure your system meets all requirements:

System Requirements

Minimum Requirements

  • Operating System: Windows 10 64-bit (version 1903) or Windows 11
  • RAM: 4GB system memory (8GB+ recommended)
  • Storage: 10GB available disk space (SSD recommended)
  • Processor: 64-bit processor (2+ cores recommended)

CLI Download Requirements

  • Windows 10 version 1803+ or Windows 11 for built-in curl and tar commands
  • For older Windows versions: Use the manual download alternatives provided in each section
  • Operating System: Windows 11 or Windows 10 Pro (latest version)
  • RAM: 16GB+ system memory
  • Storage: SSD with 50GB+ available space
  • Processor: Multi-core 64-bit processor (4+ cores)
  • Network: Stable internet connection

Software Prerequisites

  • Administrator Access: Required for service installation
  • PowerShell 5.1+: For automation scripts
  • Visual C++ Redistributable: For PHP and MariaDB
  • Domain Name: For production deployment (optional for development)

Network Requirements

  • Ports 80 and 443: Available for web traffic
  • Port 3306: Available for database (can be changed)
  • Port 9000: Available for PHP-FPM
  • Firewall: Configured to allow necessary traffic

Wordpress Install on Windows

How to Install Wordpress + Caddy Natively on Windows

Downloads

NSSM

Wordpress

PHP 7.4

MAKE SURE YOU DOWNLOAD THE RC (RELIABLE CHANNEL) MSI RUN THE GUI MSI Installer MariaDB

Setup Instructions

Setting Up PHP 7.X:

  1. Create a Directory in your C:\ for Tools IE. C:\Tools

  2. Create two subdirectories in Tools 2.1 NSSM 2.2 php

  3. Extract php-7.xx insides to another directory

  4. Extract NSSM.exe from

    \nssm-2.24\win64

    to

    C:\Tools\NSSM

ie. C:\Tools\php

Add it to the enviroment variable paths

  1. Search Advanced System Settings

image

  1. Select Enviroment Variables

image

  1. Select System Variables Path by double clicking

image

  1. Add a New Path and type
C:\Tools\php
  1. Add another new path this time for NSSM
C:\Tools\NSSM
  1. Select OK
  2. Select OK again
  3. Then Select OK to cloe the systemp properties box
  4. Close all Powershells and Terminal Windows So these settings Save

Uncomment These Settings IE. Removing # from before each line You can Search in Your Text Editor by Clicking CTRL+ F

*PHP.ini Settings*

Navigate to the “increase memory_limit” line in the file and change the value from 128M to 512MB.
The next step is to uncomment the following lines by removing ‘;’ before the lines. For example the “;extionsion_dir=ext” should become “extionsion_dir = ext”.
Similarly uncomment the following lines by removing ‘;’ from the beginning of the line.

extension=bz2
extension=curl
extension=ffi
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=mbstring
extension=exif
extension=mysqli
extension=odbc
extension=openssl
extension=pdo_mysql
extension=pdo_odbc
extension=pdo_sqlite

Setting up PHP-CGI:

  1. Open up an Administrative Powershell.

  2. type inside that powershell

    NSSM install PHP
  3. Add to Path

    C:\Tools\php\php-cgi.exe
    • Add to Startup Dirctory

      C:\Tools\php
    • Add to Argument

      -b 127.0.0.1:9000
  4. Click Save

  5. Start the Service

    nssm Start php
Buy me pc parts
💬Join Discord
Buy me a coffee